1. Field of the Invention
The present invention relates to a storage device to be used for a computer system or the like and a backup method of this storage device. Particularly, the present invention relates to a storage device having a redundancy and a backup method of a data that is stored in this storage device.
2. Discussion of the Background
Since computers have been used as part of the social infrastructure, nearly every social system has developed to use information systems. In accordance with this, the total amount of information to be treated by computer has rapidly increased, so that a computer having a high throughput capacity has been demanded. Regarding progress in the throughput capacity of computers, the amount of information capable of being treated at the same time has expanded, so that large databases may be constructed.
In order to maintain such a system, it is necessary to prevent the disappearance of data because of faults of the storage media and operational mistakes or the like. However, as a database becomes larger, it is often the case that its operation becomes more difficult. Such a large scale database is often used for a system that is important as part of the social infrastructure, so stopping even for a short time, in fact, is not allowed.
In order to protect the contents of data from a failure because of a storage media fault or operation mistake, it is effective to store the replicated data in a storage device different from a magnetic disk storage drive which is generally used as a storage device. It is preferable that the storage media used by other storage devices can store the data more stably compared to magnetic disk storage drives. To store the replicated data in order to protect the data stored in the storage device from failure in this way is referred to as backup.
However, it is not possible with such a method to realize the 24-hour service that is required from the social infrastructure because the media for storage and saving generally has a slow access rate, and takes a long time to write a large amount of information therein. In addition, during backup, it is necessary to stop the update process into a database so that the information stored in the database is not updated by a system. For this reason, when the information stored in the database is replaced with the new information by the update process, there is a possibility that integrity between the information that has been already backed-up in the database and the information that has not been backed-up yet is lost. Even if the data lacking the integrity is restored in the database, it is not possible to restore the normal condition of the database.
Alternatively, the magnetic disk storage drive that has been generally used as the storage device necessarily has moving parts, so that it has a higher probability of becoming defective compared to a main component of the computer, for example, a processor and a memory. For example, assuming system inspection is performed on a weekly basis, the information stored in the magnetic disk storage drive is backed up in other storage media capable of storing the large amount of data stably. In that case, if the database becomes unavailable because the magnetic disk storage drive is defective or an improper data update is performed, it is possible to restore the data on the basis of this backup information. However, according to a system for frequently performing the data update process, although it is possible to restore the contents of the information that is stored in the magnetic disk storage drive on the weekly backup, it is not possible to restore it to the condition just before the magnetic disk storage drive becomes defective. This is because the update process, which has been performed with respect to the database after backup, is not capable of being restored. Therefore, a method is also employed such that a history after the update (referred to as an update journal) is additionally collected and this update journal is restored together with the information after backup.
However, according to a background method for merely backing-up the contents of a database, it is necessary to stop temporarily the data update during the backup. Further, when a failure occurs in the magnetic disk storage drive itself, there is the problem that all system services are stopped until the database has been completely restored from the backed-up data. Therefore, with respect to the magnetic disk storage drive having a high possibility of a fault, a method is employed such that a plurality of magnetic disk storage drives are provided to store the same contents therein so that it is possible to continue the normal operation even when a failure occurs.
The above described system to manage and use a plurality of magnetic disks by the gross is referred to as a disk array. In order to store the information in the disk array in a plurality of storage devices, a method referred to as a RAID (Redundant Arrays of Inexpensive Disks) is generally used. Although actually consisting of a plurality of magnetic disk storage drives at the driver or hardware level, a RAID system appears as a single storage device for an application to be operated on the computer.
However, even if a system failure can be avoided according to the above described method, the backup of the data stored in the storage device is still necessary. For this reason, a technology such as RAID is effective for a rather minor hardware failure but is not as effective for remedying an improper data update because of an operation mistake caused by human error, since the system itself is not capable of detecting that the data is updated by the operation mistake. Therefore, a system has been required to perform the backup process, which can take long hours, without stopping the database system. This method is generally referred to as an online backup.
The background online backup is roughly divided into two methods. One method is performed as one function of the application but the other method makes use of the above mentioned RAID system magnetic disk storage drive.
According to the former method, for example, the data backed up by an application program is not directly updated. However, the data update that is performed by another application for updating the information of the same storage device is not generally considered. Therefore, some plans are required so that the system maintains integrity of all of the information stored in the storage device at a user's side or the like.
According to the latter method making use of a RAID system, the backup of data is performed at the level of magnetic disk storage drive, the level of the application as in the former method. Therefore, it is not necessary to consider the integrity of the data per application, with the advantage that the former consideration is not required.
The latter method is realized by the mirrored plurality of magnetic disk storage drives that are generally defined as RAID1. The mirroring serves to perform the same update with respect to a plurality of magnetic disk storage drives when updating the data stored in the magnetic disk storage drive. Therefore, upon reading the data from the magnetic disk storage drive, it is possible to obtain the same content granted that the data is read from any magnetic disk storage drive. Upon backup, this system releases the mirroring and specifies a first set of magnetic disk storage drives for online update and a second set for backup, respectively. Two processes—the update and the backup by the application—make progress in parallel in one storage device. If the backup of the data stored in the magnetic disk storage drive(s) for backup is terminated, the contents after the update of the online update set of disk storage drives is copied to the backup set of disk storage drives. When the contents of the backup set become up-to-date, mirroring of both sets of magnetic disk storage drives is started and the process returns to RAID1 operation. Thereafter, even if a failure occurs in any of the magnetic disk storage drives, the information to be stored in this storage device is secured by the content stored in the other magnetic disk storage drive(s).
Such an online backup method making use of the RAID system storage device can be regarded as an appropriate method since it does not require a specific device. However, according to this method, during the backup, the mirroring of the storage device should be released. If the mirroring is released and only one magnetic disk storage device is allowed to be updated, it is a matter of course that the information to be stored by respective magnetic disk storage drives is altered. This means that data reconstruction is not secured against a fault of the data because of a failure of a magnetic disk storage drive until the storage device is mirrored again. For example, even if a method for shortening the time required for applying a snapshot is presented, it is not possible to overcome the failure of a magnetic disk storage drive under conditions where the mirroring is released for the backup.
In order to restore the data, for example, another set of magnetic disk storage drives may be provided. Further, there is a method for realizing restoration of the data by the information stored in the storage device that is newly prepared even during backup of the data.
However, considering the rate of occurrences of failure, such a business investment is not realistic in terms of operation cost. Furthermore, the larger the data amount to be stored, the larger the magnetic disk storage drive corresponding to the data amount must be. Therefore, except for certain cases, this method is difficult to use as a general solution.